import {
  AlertTriangle,
  ArrowRight,
  Check,
  ChevronLeft,
  ChevronRight,
  CircuitBoardIcon,
  Command,
  CreditCard,
  File,
  FileText,
  HelpCircle,
  Image,
  Laptop,
  LayoutDashboardIcon,
  Loader2,
  LogIn,
  LucideIcon,
  LucideProps,
  Moon,
  MoreVertical,
  Pizza,
  Plus,
  Settings,
  SunMedium,
  Trash,
  Twitter,
  User,
  User2Icon,
  UserX2Icon,
  X
} from 'lucide-react';

export type Icon = LucideIcon;

export const Icons = {
  dashboard: LayoutDashboardIcon,
  logo: Command,
  login: LogIn,
  close: X,
  profile: User2Icon,
  spinner: Loader2,
  kanban: CircuitBoardIcon,
  chevronLeft: ChevronLeft,
  chevronRight: ChevronRight,
  trash: Trash,
  employee: UserX2Icon,
  post: FileText,
  page: File,
  media: Image,
  settings: Settings,
  billing: CreditCard,
  ellipsis: MoreVertical,
  add: Plus,
  warning: AlertTriangle,
  user: User,
  arrowRight: ArrowRight,
  help: HelpCircle,
  pizza: Pizza,
  sun: SunMedium,
  moon: Moon,
  laptop: Laptop,
  gitHub: ({ ...props }: LucideProps) => (
    <svg
      width="85" height="68" viewBox="0 0 85 68" fill="none" xmlns="http://www.w3.org/2000/svg"
      {...props}
    >
    <path d="M122.487 49.7578C121.07 52.2533 119.519 53.6696 118.103 53.6696C111.358 53.6696 109.807 38.9666 109.807 31.143V21.9031C109.807 20.8914 108.998 20.0146 107.919 20.0146H85.5269V24.1288C85.5269 25.0056 86.2014 25.68 87.0781 25.68H104.074C104.074 25.68 104.074 30.8058 104.074 31.143C104.074 41.6644 106.502 59.335 118.035 59.335C120.868 59.335 123.498 57.7837 125.724 54.9511C126.196 54.3441 126.129 53.4673 125.589 52.9277L122.487 49.7578Z" fill="black" />
    <path d="M112.774 37.7528L120.26 45.2392C121.137 46.116 122.553 46.116 123.43 45.2392L125.723 42.9461L116.618 33.9085L121.137 29.3897C122.014 28.5129 122.014 27.0965 121.137 26.2198L118.844 23.9266L112.774 29.9967L110.616 32.1549C109.672 33.0991 109.672 34.5829 110.616 35.5271L112.774 37.7528Z" fill="black" />
    <path d="M170.304 29.7942L165.583 21.6334C165.043 20.6892 164.031 20.0822 162.885 20.0822H158.973C158.703 20.0822 158.568 20.352 158.703 20.5543L161.199 24.8708H150.138V18.7333H144.135V24.8708H133.412V28.7151C133.412 29.5919 134.086 30.2663 134.963 30.2663H144.135V37.6178H130.309V41.4622C130.309 42.339 130.984 43.0134 131.86 43.0134H144.135V59.335H150.138V43.0134H163.29L163.155 47.3973C163.087 48.7462 162.008 49.7579 160.659 49.7579H154.724V53.6022C154.724 54.479 155.399 55.1535 156.275 55.1535H162.143C165.718 55.1535 168.685 52.3208 168.753 48.7462L169.09 39.5063C169.157 38.4272 168.281 37.5504 167.201 37.5504H162.615L162.952 27.8383L163.424 28.5802C163.964 29.5244 164.976 30.1314 166.122 30.1314H170.034C170.304 30.2663 170.439 29.9966 170.304 29.7942ZM156.95 37.6178H150.138V30.2663H157.22L156.95 37.6178Z" fill="black" />
    <path d="M38.9911 40.2477C39.0585 40.1803 39.126 40.1128 39.126 40.1128C39.2608 39.9779 39.3283 39.9105 39.4632 39.7756L39.6655 39.5733L40.34 38.8988L41.2167 38.022L42.0261 37.2801L42.768 36.5382L43.5099 35.7963L44.1843 35.1219L45.1285 34.1777C45.3309 33.9753 45.5332 33.8404 45.6681 33.6381C46.0053 33.3009 46.41 33.0311 46.7472 32.6939C47.0844 32.4241 47.4217 32.1543 47.8263 31.8845C48.2985 31.5473 48.838 31.2101 49.3776 30.8729C49.9171 30.5356 50.4567 30.2659 50.9962 29.9961C51.5358 29.7263 52.0079 29.524 52.5475 29.3216C52.8173 29.1868 53.1545 29.1193 53.4243 28.9844C53.5591 28.917 53.7615 28.8495 53.8964 28.8495C52.5475 23.4539 49.9846 18.463 46.6123 14.2815C45.9379 13.4721 44.9262 13 43.8471 13H15.7226C15.1831 13 14.9807 13.6744 15.3854 13.9442C25.2323 20.8236 33.1908 29.8612 38.9911 40.2477C38.9911 40.2477 38.9911 40.3151 38.9911 40.2477Z" fill="#00D6B9" />
    <path d="M27.8638 65C42.3644 65 55.044 56.9741 61.6536 45.1712C61.856 44.7666 62.1258 44.3619 62.3281 43.8898C61.9909 44.5642 61.6536 45.1712 61.249 45.7108C61.1141 45.9131 60.9792 46.1155 60.7769 46.3178C60.5745 46.5876 60.3722 46.7899 60.1699 47.0597C60.035 47.262 59.8326 47.3969 59.6977 47.5992C59.3605 47.9365 59.0233 48.2737 58.6186 48.6109C58.4163 48.8133 58.214 48.9481 58.0116 49.1505C57.7418 49.3528 57.5395 49.5551 57.2697 49.69C57.1348 49.8249 56.9325 49.8924 56.7976 50.0273C56.5953 50.1622 56.4604 50.2296 56.2581 50.3645C55.9208 50.5668 55.5162 50.7692 55.1115 50.904C54.7743 51.0389 54.437 51.1738 54.0998 51.3087C53.7626 51.4436 53.3579 51.5785 52.9533 51.6459C52.4137 51.7808 51.8067 51.9157 51.1997 51.9832C50.795 52.0506 50.3229 52.118 49.9182 52.118C49.4461 52.118 49.0415 52.1855 48.5693 52.1855C48.0972 52.1855 47.5577 52.118 47.0181 52.118C46.6134 52.0506 46.2762 52.0506 45.8716 51.9832C45.5343 51.9157 45.1971 51.8483 44.8599 51.7808C44.6575 51.7134 44.5227 51.7134 44.3203 51.6459C43.8482 51.511 43.3761 51.3762 42.904 51.2413C42.6342 51.1738 42.4319 51.1064 42.1621 51.0389C41.8249 50.904 41.4202 50.8366 41.083 50.7017C40.8132 50.6343 40.476 50.4994 40.2062 50.4319C39.9364 50.3645 39.6666 50.2296 39.3969 50.1621C39.1945 50.0947 38.9922 50.0273 38.8573 49.9598C38.655 49.8924 38.3852 49.8249 38.1828 49.69C38.048 49.6226 37.8456 49.5551 37.7107 49.4877C37.3735 49.3528 37.1037 49.2854 36.7665 49.1505C36.5642 49.083 36.4293 49.0156 36.2269 48.9481C35.9572 48.8807 35.7548 48.7458 35.4851 48.6784C35.2153 48.5435 34.9455 48.476 34.6757 48.3411C34.5408 48.2737 34.3385 48.2062 34.2036 48.1388C34.0013 48.0714 33.7989 47.9365 33.5966 47.869C33.4617 47.8016 33.2594 47.7341 33.1245 47.6667C32.9896 47.5992 32.7873 47.5318 32.6524 47.4644C32.5175 47.3969 32.3826 47.3295 32.2477 47.262C32.1128 47.1946 31.9779 47.1271 31.843 47.0597C31.7081 46.9922 31.5733 46.9248 31.4384 46.8574C31.3035 46.7899 31.1686 46.7225 31.0337 46.655C30.8314 46.5876 30.6965 46.5201 30.4941 46.3852C30.2918 46.3178 30.1569 46.1829 29.9546 46.1155C29.7522 46.048 29.5499 45.9131 29.3476 45.8457C29.2127 45.7782 29.0104 45.7108 28.8755 45.5759C20.1751 41.2594 12.4864 35.4592 5.87678 28.4449C5.53956 28.1077 5 28.31 5 28.7821V53.6018V55.6252C5 56.7717 5.607 57.9183 6.55123 58.5253C12.6213 62.6394 19.9727 65 27.8638 65Z" fill="#3370FF" />
    <path d="M61.6554 45.1039C61.588 45.1713 61.588 45.1713 61.6554 45.1039L61.7903 44.8341C61.7229 44.969 61.6554 45.0364 61.6554 45.1039Z" fill="#133C9A" />
    <path d="M62.2608 44.0244L62.3282 43.9569C62.2608 43.9569 62.2608 43.9569 62.2608 44.0244Z" fill="#133C9A" />
    <path d="M70.4898 29.9961C67.5223 28.5798 64.2175 27.703 60.7103 27.703C58.6195 27.703 56.5962 27.9728 54.7077 28.5123C54.5054 28.5798 54.2356 28.6472 54.0333 28.7147C53.8984 28.7821 53.6961 28.7821 53.5612 28.8496C53.224 28.9845 52.9542 29.0519 52.6844 29.1868C52.1448 29.3891 51.6053 29.6589 51.1332 29.8612C50.5936 30.131 50.054 30.4008 49.5145 30.738C48.9749 31.0752 48.4354 31.4125 47.9633 31.7497C47.626 32.0195 47.2214 32.2893 46.8841 32.559C46.4795 32.8288 46.1422 33.166 45.805 33.5033C45.6027 33.7056 45.4004 33.8405 45.2655 34.0428L44.3212 34.987L43.6468 35.6615L42.9049 36.4034L42.163 37.1453L41.3537 37.8872L40.4094 38.8988L39.735 39.5733L39.5327 39.7756C39.3978 39.9105 39.3303 39.978 39.1954 40.1128C39.128 40.1803 39.0605 40.2477 39.0605 40.2477C38.9931 40.3152 38.9257 40.3826 38.7908 40.4501C38.7233 40.5175 38.5884 40.6524 38.521 40.7199C36.093 42.9455 33.3952 44.834 30.4951 46.3852C30.6974 46.4527 30.8323 46.5201 31.0346 46.655C31.1695 46.7224 31.3044 46.7899 31.4393 46.8573C31.5742 46.9248 31.7091 46.9922 31.844 47.0597C31.9788 47.1271 32.1137 47.1946 32.2486 47.262C32.3835 47.3294 32.5184 47.3969 32.6533 47.4643C32.7882 47.5318 32.9905 47.5992 33.1254 47.6667C33.2603 47.7341 33.4626 47.8016 33.5975 47.869C33.7999 47.9364 34.0022 48.0713 34.2045 48.1388C34.3394 48.2062 34.5417 48.2737 34.6766 48.3411C34.9464 48.476 35.2162 48.5435 35.486 48.6783C35.7557 48.7458 35.9581 48.8807 36.2279 48.9481C36.4302 49.0156 36.5651 49.083 36.7674 49.1505C37.1046 49.2853 37.3744 49.3528 37.7116 49.4877C37.8465 49.5551 38.0489 49.6226 38.1838 49.69C38.3861 49.7575 38.6559 49.8249 38.8582 49.9598C39.0605 50.0272 39.2629 50.0947 39.3978 50.1621C39.6675 50.2296 39.9373 50.3645 40.2071 50.4319C40.4769 50.4994 40.8141 50.6342 41.0839 50.7017C41.4211 50.8366 41.8258 50.904 42.163 51.0389C42.4328 51.1064 42.6351 51.1738 42.9049 51.2412C43.377 51.3761 43.8491 51.511 44.3212 51.6459C44.5236 51.7134 44.6585 51.7134 44.8608 51.7808C45.198 51.8482 45.5352 51.9157 45.8725 51.9831C46.2771 52.0506 46.6144 52.118 47.019 52.118C47.5586 52.1855 48.0307 52.1855 48.5703 52.1855C49.0424 52.1855 49.5145 52.1855 49.9192 52.118C50.3238 52.118 50.7959 52.0506 51.2006 51.9831C51.8076 51.9157 52.3472 51.7808 52.9542 51.6459C53.3588 51.511 53.6961 51.4436 54.1007 51.3087C54.438 51.1738 54.7752 51.0389 55.1124 50.904C55.5171 50.7017 55.8543 50.5668 56.259 50.3645C56.4613 50.297 56.5962 50.1621 56.7985 50.0272C56.9334 49.8923 57.1358 49.8249 57.2706 49.69C57.5404 49.4877 57.8102 49.3528 58.0125 49.1505C58.2149 49.0156 58.4172 48.8132 58.6195 48.6109C58.9568 48.2737 59.3614 47.9364 59.6987 47.5992C59.8335 47.3969 60.0359 47.262 60.1708 47.0597C60.3731 46.8573 60.5754 46.5876 60.7778 46.3178C60.9127 46.1154 61.0476 45.9131 61.2499 45.7108C61.6546 45.1712 61.9918 44.5642 62.329 43.8898L62.7337 43.1479L66.1059 36.4034C67.1176 33.9754 68.6688 31.8171 70.4898 29.9961Z" fill="#133C9A" />

    </svg>
  ),
  twitter: Twitter,
  check: Check
};
